The present invention relates generally to the field of computer hardware and software installation, and more specifically to the monitoring and capture of computer hardware and software installation.
Computer storage devices such as hard drives, diskette, CD-ROMS, removable storage including tape backups and so-called xe2x80x9czipxe2x80x9d drives (manufactured by IOMEGA) have become increasingly larger, especially hard drives and other removable storage. As hard drives have increased rapidly in size, software and programs written for the computers on which the hard drives are used have also become larger and much more complex. With the advent of CD-ROMS and DVD, it has become possible to place even more complex, large files and programs onto a single CD for the loading of the program onto a computer hard drive. Since it has become so easy to load large programs on hard drives, the industry has seen rapid growth in the actual number and size of software programs stored on hard drives.
The process of installing new software, especially software that may not necessarily have been tested on the specific configuration of computer on which it is being installed, can require a large number of changes to the computer system. Not all of the changes made in a software installation may be compatible with the existing software configuration. Further, it may at some point be desirable to reinstall an entire configuration, whether to a new hard drive, or to the existing hard drive. The reasons for this type of reinstallation are varied, from cleaning up the configuration to reinstalling due to a device or even a full system failure.
In a network situation, where each computer on the network may be configured slightly differently, with a different hard drive manufacturer or capacity, and different other aesthetic settings, installation of software programs has become even more time consuming than ever. When a system administrator or other person is responsible for loading software programs onto network computers, the numbers of which may run well into the hundreds, it is time prohibitive to load the necessary software individually onto each computer. Further, each computer may have a core group of software programs, but individual users may also require different software packages. In the case of a standard installation, many actions must be repeated again and again. Often, many of the same software packages will be installed on multiple computers. In this case, the actions of the installer are repeated again and again. It is very time consuming to repeat the same actions over and over again for multiple computers.
In the case of an individual computer and an individual computer user, the installation of computer components such as software programs and hardware that often requires software support, a different time consuming process occurs. Often, the installation of software and/or hardware by an individual user is more time consuming than installation of software or hardware by a system administrator or technical support person because the individual installer does not have the same level of expertise in the installation processes of software and, especially, hardware.
When a full reinstallation needs to be completed, the system is generally reinitialized or partitioned, leaving a blank canvas on which to paint the new setup. Often, the reinstallation goal will be to return the new configuration to the same configuration as was present before the reconfiguration became necessary. The painstaking process for reinstallation will involve finding all of the original documentation and source media for the software to be installed, as well as the drivers and setup information for all hardware not recognizable by the computer configuration, operating system, or the like. Following this, the installation process involves individually reinstalling each program or hardware component one at a time.
A computer hardware or software installation involves the execution of a series of commands to install the component or software. These commands take the form of a data stream which performs certain actions on and to various files stored on the computer in a hard drive or other storage medium. Further, entire files may be created or deleted during an installation. The installation software or process creates the data stream of commands during the installation.
It would be desirable to increase the speed at which a repeated installation or a re-installation could be accomplished.
It would also be desirable to provide a way to more efficiently reinstall computer hardware and software.
The present invention overcomes the problems of the prior art by providing apparatus and method for capturing the changes made to a computer system during setup or installation of hardware and/or software, allowing reinstallation at a later time with a time savings over individual reinstallation.
An embodiment of a method for capturing changes to a computer configuration during installation of a new computer component such as hardware or software comprises monitoring the data command stream of the installation, recording any modifications made to files of the computer during the installation, including the creation or deletion of entire files, and creating a change file containing the data command stream of the installation and changes made to the operating files of the computer during the installation.
Another embodiment of the invention is a machine readable medium comprising machine readable instructions for causing a computer to perform a method comprising monitoring the data command stream of the installation, recording the modifications made to files of the computer during the installation, including the creation or deletion of entire files, and creating a change file containing the data command stream of the installation and changes made to the operating files of the computer during the installation.
An apparatus embodiment of the present invention for monitoring the installation of a computer component into a computer system comprises a monitor module and a write module, the modules working together to monitor the data command stream of an installation, to record the data stream, and to record any changes to any files on the computer, including the creation or deletion of entire files.
The apparatus embodiment of the present invention may be implemented in a computer system. Such computer systems typically include a computer having a monitor, a keyboard, a pointing device such as a mouse, a processor and memory, and some storage medium such as a hard drive or the like. Apparatus modules for monitoring the data command stream, and for recording the command stream and any changes made to files on the computer system, including the creation or deletion of entire files, and writing the changes to an image file change capture file for later retrieval and re-execution of the data command stream for re-installation of the software or hardware are further present in the system when embodying the present invention.